#ifndef __KSVGEDITOR_DOCUMENT_KSVGSAVETASK_H__
#define __KSVGEDITOR_DOCUMENT_KSVGSAVETASK_H__

#include <QObject>
#include <QRunnable>
#include <QString>
#include <QList>
#include <QRectF>
#include <QColor>

class KExportShape;

class KSvgSaveTask : public QObject, public QRunnable
{
    Q_OBJECT
public:
    KSvgSaveTask(const QString& filePath,
        const QList<KExportShape*>& shapeList,
        const QRectF& sceneRect,
        const QColor& bgColor);

    void run() override;

signals:
    void saveFinished(const QString& filePath, bool success, int shapeCount);

private:
    QString m_filePath;
    QList<KExportShape*> m_shapeList;
    QRectF m_sceneRect;
    QColor m_bgColor;
};

#endif // __KSVGEDITOR_DOCUMENT_KSVGSAVETASK_H__
